草庐IT

csv_export

全部标签

python - 多个线程在 Python 中写入同一个 CSV

我是Python多线程的新手,目前正在编写附加到csv文件的脚本。如果我要将多个线程提交给一个concurrent.futures.ThreadPoolExecutor,它将行附加到一个csv文件。如果附加是这些线程执行的唯一与文件相关的操作,我该怎么做才能保证线程安全?我的代码的简化版本:withconcurrent.futures.ThreadPoolExecutor(max_workers=3)asexecutor:forcount,ad_idinenumerate(advertisers):downloadFutures.append(executor.submit(downl

python - 在 Python 中对 CSV 进行排序

我假设使用Python在多个文本/数字字段上对CSV文件进行排序是一个已经解决的问题。但是我在任何地方都找不到任何示例代码,除了专注于对日期字段进行排序的特定代码。如何在多个字段上按顺序对相对较大的CSV文件(数万行)进行排序?Python代码示例将不胜感激。 最佳答案 Python的排序只在内存中工作;然而,在现代机器上,数以万计的代码行应该可以轻松地放入内存中。所以:importcsvdefsortcsvbymanyfields(csvfilename,themanyfieldscolumnnumbers):withopen(c

python - csv.writerows() 在每一行之后放置换行符

这是来自O'ReillyCookbook的示例(截断的数据集)headers=['Symbol','Price','Date','Time','Change','Volume']rows=[{'Symbol':'AA','Volume':181800,'Change':-0.18,'Time':'9:36am','Date':'6/11/2007','Price':39.48},{'Symbol':'AIG','Volume':195500,'Change':-0.15,'Time':'9:36am','Date':'6/11/2007','Price':71.38}]withopen

python - 'CSV 不存在' - Pandas DataFrame

这个问题在这里已经有了答案:WindowspathinPython(5个答案)关闭4年前。我无法将csv文件读取到pandas数据框中。我是Pandas的新手,这阻碍了我的进步。我已阅读文档并搜索解决方案,但我无法继续。我尝试了以下无济于事......importpandasaspdimportnumpyasnppd.read_csv('C:\Users\rcreedon\Desktop\TEST.csv')pd.read_csv("C:\Users\rcreedon\Desktop\TEST.csv")和带/不带引号的类似排列。它吐出一个以以下结尾的大型复合错误:IOError:Fi

python - 使用 pandas.io.sql.read_frame,我可以像 read_csv 一样解析日期吗?

我正在使用pandas.io.sql.read_frame直接从数据库读取data_frame:cnx=pandas.io.sql.connect(host='srv',user='me',password='pw',database='db')df=pandas.io.sql.read_frame('sql_query',cnx)它可以很好地检索数据。但我想将其中一列解析为datetime64,类似于从CSV文件读取时可以执行的操作,例如:df2=pandas.io.read_csv(csv_file,parse_dates=[0])但是read_frame没有parse_dates

python - 在 CSV 文件中存储和检索 bool 值的便捷方法是什么

如果我使用CSV模块存储一个bool值,它会被str()函数转换为字符串True或False.但是,当我加载这些值时,False字符串的计算结果为True,因为它是一个非空字符串。我可以通过在读取时使用IF语句手动检查字符串来查看字符串是什么来解决这个问题,但它有点不够优雅。有没有更好的想法,或者这只是编程世界中的其中一件事? 最佳答案 在CSV文件中存储bool值的方法字符串:两个常见的选择是true和false,True和False,但我也看到yes和no。整数:0或1float:0.0或1.0让我们比较一下各自的优点/缺点:字

python - 在 Python 中获取字符串和 csv 文件的正确编码

我在Python中使用mechanize从网站获取一些数据并向其发送新数据。问题是该网站是法语的,所以我得到的是菱形问号(�)而不是éÉÀàùÙîû等各种字符。我试着在Google和StackOverflow上四处寻找,发现了各种无法解决我的问题的答案。我看到了建议尝试以下行之一的答案:myString=éÀîmyString.encode('latin-1')myString.encode('iso-8859-1')unicode(myString,'iso-8859-1')但这些似乎都不起作用。我需要它的两种情况是当我读取带有重音符号的csv文件和包含重音符号的硬编码字符串时。例如

python - 使用pandas.read_csv从csv文件加载数据时如何指定dtype?

我有一些格式如下的文本文件:000423|东阿阿胶|300|1|0.15000||000425|徐工机械|600|1|0.15000||000503|海虹控股|400|1|0.15000||000522|白云山A||2||1982.080|000527|美的电器|900|1|0.15000||000528|柳工|300|1|0.15000||当我使用read_csv将它们加载到DataFrame时,它​​不会为某些列生成正确的数据类型。例如,第一列被解析为int,而不是unicodestr,第三列被解析为unicodestr,而不是int,因为缺少一个数据......有没有办法预设Da

python - 一种使用行和列标题读取 CSV 的 Pythonic 方法

让我们有一个带有行和列标题的CSV表格,例如:,"Car","Bike","Boat","Plane","Shuttle""Red",1,7,3,0,0"Green",5,0,0,0,0"Blue",1,1,4,0,1我想获取行和列标题,即:col_headers=["Car","Bike","Boat","Plane","Shuttle"]row_headers=["Red","Green","Blue"]data=[[1,7,3,0,0],[5,0,0,0,0],[1,1,4,0,1]]当然我可以做类似的事情importcsvwithopen("path/to/file.csv",

python - 将txt文件解析成字典写入csv文件

Eprime输出一个.txt文件,如下所示:***HeaderStart***VersionPersist:1LevelName:SessionSubject:7Session:1RandomSeed:-1983293234Group:1Display.RefreshRate:59.654***HeaderEnd***Level:2***LogFrameStart***MeansEffectBias:7Procedure:trialProcitemID:7bias1Answer:1***LogFrameEnd***Level:2***LogFrameStart***MeansEffec