在运行Windows XP专业版的Python 2.7中:
import csv
outfile = file('test.csv', 'w')
writer = csv.writer(outfile, delimiter=',', quoting=csv.QUOTE_MINIMAL)
writer.writerow(['hi','dude'])
writer.writerow(['hi2','dude2'])
outfile.close()
Run Code Online (Sandbox Code Playgroud)
它生成一个文件test.csv,每行有一个额外的\ r \n,如下所示:
hi,dude\r\r\nhi2,dude2\r\r\n
Run Code Online (Sandbox Code Playgroud)
而不是预期的:
hi,dude\r\nhi2,dude2\r\n
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,或者这实际上是期望的行为?
我想知道是否可以使用pandas to_csv()函数将数据帧添加到现有的csv文件中.csv文件与加载的数据具有相同的结构.
我有一个脚本读取csv文件中有非常大的字段:
# example from http://docs.python.org/3.3/library/csv.html?highlight=csv%20dictreader#examples
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Run Code Online (Sandbox Code Playgroud)
但是,这会在某些csv文件上引发以下错误:
_csv.Error: field larger than field limit (131072)
Run Code Online (Sandbox Code Playgroud) 我想将CSV文件中的数据导入现有的数据库表.我不想保存CSV文件,只需从中获取数据并将其放入现有表中.我正在使用Ruby 1.9.2和Rails 3.
这是我的表:
create_table "mouldings", :force => true do |t|
t.string "suppliers_code"
t.datetime "created_at"
t.datetime "updated_at"
t.string "name"
t.integer "supplier_id"
t.decimal "length", :precision => 3, :scale => 2
t.decimal "cost", :precision => 4, :scale => 2
t.integer "width"
t.integer "depth"
end
Run Code Online (Sandbox Code Playgroud)
你能给我一些代码来告诉我最好的方法吗,谢谢.
假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量包含不同的时间.R中有没有办法同时导入它们而不必单独导入它们?
我的问题是我有大约2000个数据文件要导入,只需使用代码就可以单独导入它们:
read.delim(file="filename", header=TRUE, sep="\t")
Run Code Online (Sandbox Code Playgroud)
不是很有效率.
我使用下面引用的代码使用Python编辑csv.代码中调用的函数形式代码的上半部分.
问题:我希望下面引用的代码从第2行开始编辑csv,我希望它排除包含标题的第1行.现在它只在第一行应用函数,我的标题行正在改变.
in_file = open("tmob_notcleaned.csv", "rb")
reader = csv.reader(in_file)
out_file = open("tmob_cleaned.csv", "wb")
writer = csv.writer(out_file)
row = 1
for row in reader:
row[13] = handle_color(row[10])[1].replace(" - ","").strip()
row[10] = handle_color(row[10])[0].replace("-","").replace("(","").replace(")","").strip()
row[14] = handle_gb(row[10])[1].replace("-","").replace(" ","").replace("GB","").strip()
row[10] = handle_gb(row[10])[0].strip()
row[9] = handle_oem(row[10])[1].replace("Blackberry","RIM").replace("TMobile","T-Mobile").strip()
row[15] = handle_addon(row[10])[1].strip()
row[10] = handle_addon(row[10])[0].replace(" by","").replace("FREE","").strip()
writer.writerow(row)
in_file.close()
out_file.close()
Run Code Online (Sandbox Code Playgroud)
我试图通过初始化row变量来解决这个问题,1但它没有用.
请帮我解决这个问题.
我以编程方式将数据(使用PHP 5.2)导出到.csv测试文件中.
示例数据:( Numéro 1注意重音e).数据是utf-8(没有前置BOM).
当我在MS Excel中打开此文件时显示为Numéro 1.
我可以在文本编辑器(UltraEdit)中打开它,正确显示它.UE报告角色是decimal 233.
如何在.csv文件中导出文本数据以便MS Excel正确呈现它,最好不强制使用导入向导或非默认向导设置?
Excel 2013似乎无法正确读取CSV文件(Excel 2010会这样做).每次打开.csv文件时,我的所有数据都会显示在第一列中.
我知道我可以去DATA,Convert然后选择commas,但这个设置没有保存,每次打开这种文件时我都厌倦了.
如何设置Excel 2013,一劳永逸地以漂亮的方式显示CSV文件(以逗号分隔)?
csv ×10
python ×4
excel ×2
import ×2
comments ×1
dataframe ×1
diacritics ×1
encoding ×1
file-format ×1
javascript ×1
newline ×1
office-2013 ×1
pandas ×1
python-2.7 ×1
r ×1
r-faq ×1
standards ×1
windows ×1