我有一个大文件(3.5G),我正在尝试导入使用data.table::fread.
它最初是从作为文本打开并保存为CSV的rpt文件创建的.
这适用于较小的文件(相同类型的数据 - 相同列和所有.这个只是更长的时间范围和更广泛的范围).
当我试着跑
mydata <- fread("mycsv.csv")
Run Code Online (Sandbox Code Playgroud)
我收到错误:
fread中的错误("mycsv.csv"):在字符串中嵌入nul:'y\0e\0a\0r\0'
这是什么意思?
我使用{stats}包中的STL函数来季节性地删除一些时间序列数据.
我现在想将结果导出到csv,但是当我尝试时
write.csv(mySTLdata, "mySTLdata.csv")
Run Code Online (Sandbox Code Playgroud)
我收到了错误
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class ""stl"" to a data.frame
Run Code Online (Sandbox Code Playgroud)
如果我试图将STL转换为data.frame,它再次告诉我它不能被强制转换成一个.
有关如何从R环境中获取此信息以便在其他地方使用的任何想法?
我有数百个 csv 文件,我想搜索字符串“Keyed,Bet”并将其更改为“KeyedBet”。该字符串可能在也可能不在文件中,并且可能在不同文件的不同列中。
我拼凑了下面的脚本,但它不起作用。我肯定不正确地使用了replace(),但无法弄清楚如何,并且在我真的不需要时创建一个新文件-如果它只是更新当前文件并以相同的名称保存,那将是很好(但超出了我的初学者能力)。
我这里哪里出错了?谢谢您的帮助!
import os
import csv
path='.'
filenames = os.listdir(path)
for filename in filenames:
if filename.endswith('.csv'):
r=csv.reader(open(filename))
new_data = []
for row in r:
replace("Keyed,Bet","KeyedBet")
new_data.append(row)
newfilename = "".join(filename.split(".csv")) + "_edited3.csv"
with open(newfilename, "w") as f:
writer = csv.writer(f)
writer.writerows(new_data)
Run Code Online (Sandbox Code Playgroud) 如果我有一个数据框列表
my_list = list(data, data2, data3)
Run Code Online (Sandbox Code Playgroud)
我想为每个填充了该数据框名称的列添加一列
column1 column2 new_column
12 27 data
27 987 data
378 1234 data
Run Code Online (Sandbox Code Playgroud)
,我该怎么办呢?我希望集合中的所有DF都保留其原始名称,但也要填充列.
我试过了:
my_list = lapply(my_list, function(DF){
DF$new_column <- DF
DF
})
Run Code Online (Sandbox Code Playgroud)
但它不会在函数中的列表中运行.
我错过了什么?谢谢