我在COLS与数据在片材A通过H.
我需要确定A包含数据的列中的最后一行(它是所有连续的 - 数据/行中没有间隙).
其他列中的数据也包含比列更多的数据行A,因此我只需要隔离列A.(和/或只是col内的范围A).
我可以在电子表格级别使用
=COUNTA(A2:A100)
Run Code Online (Sandbox Code Playgroud)
然而,在我对Google Apps脚本解决方案的所有研究中,我似乎都发现需要执行多个功能,包括几十行代码 - 包括大量的i++内容......我可以通过直接抵消来减少复杂性A1.
是否可能有特定于列的方法来修改此方法?
var aLast = ss.getDataRange().getNumRows();
Run Code Online (Sandbox Code Playgroud)
如果需要一个复杂的过程,那就这样吧.但我发现很难想象(甚至更难找到!)一个更简单的解决方案.
有人关心开导我(或弹出我的泡泡)?
我上传了一个文件到Google电子表格(用于制作一个公开可访问的示例IPython Notebook,带有数据)我正在使用该文件的原生形式可以读入Pandas Dataframe.所以现在我使用下面的代码来阅读电子表格,工作正常,但只是作为字符串,我没有任何运气试图让它回到数据帧(你可以得到数据)
import requests
r = requests.get('https://docs.google.com/spreadsheet/ccc?key=0Ak1ecr7i0wotdGJmTURJRnZLYlV3M2daNTRubTdwTXc&output=csv')
data = r.content
Run Code Online (Sandbox Code Playgroud)
数据最终看起来像:(第1行标题)
',City,region,Res_Comm,mkt_type,Quradate,National_exp,Alabama_exp,Sales_exp,Inventory_exp,Price_exp,Credit_exp\n0,Dothan,South_Central-Montgomery-Auburn-Wiregrass-Dothan,Residential,Rural,1/15/2010,2,2,3,2,3,3\n10,Foley,South_Mobile-Baldwin,Residential,Suburban_Urban,1/15/2010,4,4,4,4,4,3\n12,Birmingham,North_Central-Birmingham-Tuscaloosa-Anniston,Commercial,Suburban_Urban,1/15/2010,2,2,3,2,2,3\n
Run Code Online (Sandbox Code Playgroud)
引入磁盘驻留文件的本机pandas代码如下所示:
df = pd.io.parsers.read_csv('/home/tom/Dropbox/Projects/annonallanswerswithmaster1012013.csv',index_col=0,parse_dates=['Quradate'])
Run Code Online (Sandbox Code Playgroud)
一个"干净"的解决方案将有助于许多人提供一种简单的方法来共享数据集供熊猫使用!我尝试了一堆替代方案但没有成功,我很确定我再次错过了一些明显的东西.
只是一个更新说明新的Google电子表格有不同的网址格式只是在上面的例子和/或下面的答案中使用它来代替URL,你应该没问题就是一个例子:
https://docs.google.com/spreadsheets/d/177_dFZ0i-duGxLiyg6tnwNDKruAYE-_Dd8vAQziipJQ/export?format=csv&id
Run Code Online (Sandbox Code Playgroud)
从@Max Ghenis看下面的解决方案,它只使用了pd.read_csv,不需要StringIO或请求......
Google电子表格看起来只能在下拉列表中选择一个值.
有没有办法从谷歌电子表格的下拉列表中选择多个值?
我想知道是否可以在Google电子表格中查询过去的汇率.
例如; 使用公式=GoogleFinance("CURRENCY:USDEUR")将在此时返回美元/欧元汇率.你如何找回历史汇率?
我在API Manager中生成了一个服务器密钥,并试图在我的Mac上执行以下操作:
curl 'https://sheets.googleapis.com/v4/spreadsheets/MySheetID?ranges=A1:B5&key=TheServerKeyIGeneratedInAPIManager'
Run Code Online (Sandbox Code Playgroud)
但这就是它的回报:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
我在Google表格(activerange)中选择了一系列单元格.我想迭代该范围内的每个单元格,并在末尾添加一个字符串.字符串始终相同,可以硬编码到函数中.
这似乎是一件非常简单的事情,但我现在已经搞乱了一小时的代码并且无法获得任何有用的东西,并且文档实际上没有帮助.
这就是我现在拥有的.我不编码JS(我知道VBA,对所有有帮助的人......).
function appendString() {
var range = SpreadsheetApp.getActiveSheet().getActiveRange();
for (var i = 0; i < range.length; i++) {
var currentValue = range[i].getValue();
var withString = currentValue + " string";
range[i].setValue(withString);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个这样的列:
你会使用什么设备?
iPad
Kindle & iPad
No Tablet
iPad
iPad & Windows
Run Code Online (Sandbox Code Playgroud)
我如何计算说iPad的人数?
此公式适用于完全匹配,但如果它包含其他值,则不起作用:
=(COUNTIF(A2:A51,"=iPad")/COUNTA(A2:A51))*1
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我想从任何谷歌电子表格联合范围.
!工作表Sheet1 A:
{12, 131, 45}
Run Code Online (Sandbox Code Playgroud)
!Sheet2中A:
{12, 131, 46}
Run Code Online (Sandbox Code Playgroud)
未知的功能
=formula_for_union_range(Sheet1!A:A; Sheet2!:A:A)
Run Code Online (Sandbox Code Playgroud)
应该回来
{12, 131, 45, 12, 131, 46}
Run Code Online (Sandbox Code Playgroud)
这怎么可能?
我试图了解用Google Doc Spreadsheets替换我的一些Microsoft Excel电子表格的可行性.如何在Google文档电子表格中创建谷歌应用脚本功能的自定义键盘快捷键?这是我通常用VBA和Excel做的事情.
我在工作表的一列中有一堆ISO-8601格式的字符串.如何将谷歌表格作为日期处理,以便我可以对它们进行数学计算(例如,两个单元格之间的分钟数差异)?我尝试了=Date("2015-05-27T01:15:00.000Z")但没有快乐.必须有一个简单的方法来做到这一点.有什么建议?